package com.lfy.modules.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lfy.modules.blog.domain.AuthorityEntity;
import com.lfy.modules.blog.domain.dto.role.AuthDTO;
import com.lfy.modules.blog.domain.vo.auth.AuthAllVO;
import com.lfy.modules.blog.domain.vo.role.SaveRouteByRoleDTO;
import com.lfy.modules.common.domain.R;

import java.util.List;
import java.util.Set;

/**
* @author 吕飞扬
* @description 针对表【authority】的数据库操作Service
* @createDate 2024-04-03 01:14:55
*/
public interface AuthorityService extends IService<AuthorityEntity> {

    /**
     * 获取所有权限
     */
    List<AuthAllVO> getAuthAll();

    /**
     * 根据角色id获取权限id集合
     * @param id 角色id
     * @return R
     */
    R<Set<Long>> getAuthIdByRoleId(Long id);

    /**
     * 根据角色id添加权限
     * @param dto 角色id和权限id集合
     * @return R
     */
    R<Void> addAuthByRoleId(AuthDTO dto);

    /**
     * 根据角色id删除权限
     * @param dto 角色id和权限id集合
     * @return R
     */
    R<Void> removeAuthByRoleId(AuthDTO dto);
}
